package com.luckcoder.relax.games.domain.bo;

import com.luckcoder.relax.games.domain.RelaxGameRecordDetail;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;

import java.util.Date;

/**
 * 游戏记录详情业务对象 relax_game_record_detail
 *
 * @author zhanghao
 * @date 2025-09-10
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = RelaxGameRecordDetail.class, reverseConvertGenerate = false)
public class RelaxGameRecordDetailBo extends BaseEntity {
    
    /**
     * 详情ID
     */
    @NotNull(message = "详情ID不能为空", groups = {EditGroup.class})
    private Long detailId;
    
    /**
     * 游戏记录ID
     */
    @NotNull(message = "游戏记录ID不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long recordId;
    
    /**
     * 用户ID
     */
    @NotNull(message = "用户ID不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long userId;
    
    /**
     * 游戏编码
     */
    @NotBlank(message = "游戏编码不能为空", groups = {AddGroup.class, EditGroup.class})
    private String gameCode;
    
    /**
     * Emoji的Unicode编码
     */
    @NotBlank(message = "Emoji的Unicode编码不能为空", groups = {AddGroup.class, EditGroup.class})
    private String emojiUnicode;
    
    /**
     * Emoji字符
     */
    @NotBlank(message = "Emoji字符不能为空", groups = {AddGroup.class, EditGroup.class})
    private String emojiChar;
    
    /**
     * 本局消灭数量
     */
    private Long eliminatedCount;
    
    /**
     * 消灭时间
     */
    private Date eliminatedTime;
    
    
}
